package com.fr.lintcode;

import java.util.ArrayList;
import java.util.List;

import org.junit.Test;

/**
 * @author 付荣
 * @version 创建时间：2019年1月31日 上午11:30:31
 */
public class Q147 {
	/**
     * @param n: The number of digits
     * @return: All narcissistic numbers with n digits
     */
    public List<Integer> getNarcissisticNumbers(int n) {
    	List<Integer> rs = new ArrayList<>();
    	if (n == 1){
    		rs.add(0);
    	}
    	for(int i = (int)Math.pow(10, n - 1); i < (int)Math.pow(10, n); i++){
    		int tmp = i;
    		int count = 0;
    		while(tmp > 0){
    			int k = tmp % 10;
    			count += (int)Math.pow(k, n);
    			tmp /= 10;
    		}
    		if (count == i){
    			rs.add(count);
    		}
    	}
    	return rs;
    }
    
    @Test
    public void testA(){
    	System.out.println(getNarcissisticNumbers(1));
    }
}
